هوک وردپرس چیست ؟

نویسنده: محمد مهدی تاریخ : ۱۴۰۲/۰۶/۱۲

هوک وردپرس چرا بوجود آمد؟

هوک وردپرس (WordPress Hooks) سیستمی است که در وردپرس به کار می‌رود تا برنامه‌نویسان را قادر سازد تا عملکرد وردپرس را تغییر دهند و یا به آن عملیات‌هایی را اضافه کنند. این سیستم در وردپرس 2.1 معرفی شد و به عنوان یک ابزار برنامه‌نویسی قدرتمند و گسترده، امکاناتی را به برنامه‌نویسان و طراحان وب می‌دهد تا وردپرس را بسیار قابل انعطاف کنند.


هوک وردپرس به چند دسته تقسیم می‌شود؟

هوک وردپرس به دو دسته عمده تقسیم می‌شود: اکشن (Actions) و فیلتر (Filters).

1. اکشن وردپرس (Actions):

اکشن‌ها در وردپرس به برنامه‌نویسان امکان می‌دهند تا کدهای خود را در نقاط مختلفی از فرآیند اجرای وردپرس درج کنند. هنگامی که یک اکشن فراخوانی می‌شود، توابع مربوطه اجرا می‌شوند و می‌توانند دستوراتی را انجام دهند یا به عناصری مانند محتوا، برگه‌ها، ورودی‌های فرم و ... دسترسی داشته باشند.

2. فیلتر وردپرس (Filters):

فیلترها در وردپرس به برنامه‌نویسان امکان می‌دهند تا مقادیر یا خروجی‌های مختلف را که توسط وردپرس یا افزونه‌ها تولید می‌شوند، تغییر دهند یا تحلیل کنند. با استفاده از فیلترها، می‌توانید داده‌های خروجی را تغییر دهید یا آن‌ها را در حین پردازش تحلیل کنید.


تفاوت اصلی اکشن و فیلتر در وردپرس:

تفاوت اصلی اکشن و فیلتر در وردپرس در نحوه استفاده آن‌ها است. اکشن‌ها فقط اجازه انجام کد در یک نقطه خاص از فرآیند وردپرس را می‌دهند ولی فیلترها اجازه تغییر و تحلیل داده‌ها را قبل و بعد از اجرای آن‌ها می‌دهند. به عبارت دیگر، اکشن‌ها بیشتر برای اجرای کدها و انجام عملیات‌ها استفاده می‌شوند و فیلترها بیشتر برای تغییر داده‌ها و مقادیر استفاده می‌شوند.


هوک وردپرس در کجای هسته وردپرس قرار دارد؟

هوک وردپرس در هسته وردپرس قرار دارد و اجازه می‌دهد که برنامه‌نویسان به نقاط مختلفی از فرآیند اجرای وردپرس دسترسی داشته باشند و تغییراتی را اعمال کنند. هر بار که یک عملیات مشخصی در وردپرس انجام می‌شود (مانند بارگذاری برگه، افزودن نوشته جدید و غیره)، هوک‌ها قابل فراخوانی هستند و به برنامه‌نویسان اجازه می‌دهند کد خود را در این نقاط اجرا کنند.


فرآیند و ساز و کار هوک وردپرس:

هوک وردپرس از چند مرحله تشکیل شده است:

1. مرحله جذب هوک وردپرس:

در این مرحله، هوک‌ها تعریف می‌شوند و به نقاط مشخصی در فرآیند اجرای وردپرس متصل می‌شوند. برنامه‌نویسان می‌توانند با استفاده از توابع مربوطه، هوک‌های سفارشی خود را ایجاد کنند و در نقاط مختلف فراخوانی کنند.

2. مرحله اتصال عملیات:

در این مرحله، برنامه‌نویسان می‌توانند کدهای خود را به هوک‌ها متصل کنند. با استفاده از توابع مربوطه مانند add_action و add_filter، کدهای برنامه‌نویسی را به نقاط مشخصی از هوک‌ها اضافه می‌کنند.

3. صف بندی و لیست عملیات:

در این مرحله، وردپرس تمامی هوک‌ها و توابع متصل شده به آن‌ها را به ترتیب مشخصی اجرا می‌کند. هنگامی که هر هوک فراخوانی می‌شود، کدهای مربوطه اجرا می‌شوند و نتیجه به عنوان خروجی برگشت داده می‌شود.


وردپرس از کجا لیست تمامی نقاط اتصال را نگه می‌دارد تا در آن لحظه اجرا کنید؟

وردپرس تمامی نقاط اتصال (هوک‌ها) را در فایل functions.php قالب فعلی یا فایل‌های توابع سفارشی (اگر وجود دارد) نگه می‌دارد. همچنین، افزونه‌های وردپرس نیز می‌توانند هوک‌های خود را در فایل‌های مربوطه تعریف و نگهداری کنند.


اکشن در وردپرس (WordPress Action):

اکشن‌ها در وردپرس به برنامه‌نویسان امکان می‌دهند کد خود را در نقاط مختلفی از فرآیند اجرای وردپرس قرار دهند. وقتی یک اکشن فراخوانی می‌شود، توابع متصل به آن اجرا می‌شوند و می‌توانند دستوراتی را انجام دهند یا به عناصری مانند محتوا، برگه‌ها، ورودی‌های فرم و غیره دسترسی پیدا کنند.


ایجاد نقطه جذب در اکشن وردپرس:

برای ایجاد یک نقطه جذب (hook) در اکشن وردپرس، می‌توانید از تابع do_action استفاده کنید. به عنوان مثال:


do_action('my_custom_action');


در این مثال، نقطه جذب با نام 'my_custom_action' ایجاد می‌شود. هنگامی که این نقطه فراخوانی می‌شود، توابعی که به آن متصل شده‌اند، اجرا می‌شوند.


اضافه کردن تابع به نقطه جذب در اکشن وردپرس:


برای اضافه کردن یک تابع به نقطه جذب در اکشن وردپرس، می‌توانید از تابع add_action استفاده کنید. به عنوان مثال:


add_action('my_custom_action', 'my_custom_function');


function my_custom_function() {
  
}


در این مثال، تابع my_custom_function به نقطه جذب 'my_custom_action' متصل شده است. هنگامی که نقطه جذب فراخوانی می‌شود، تابع my_custom_function اجرا می‌شود. می‌توانید کدهای خود را در داخل تابع قرار دهید تا هنگام اجرای نقطه جذب، این کدها اجرا شوند.


یک مثال حرفه ای تر :

قصد داریم با استفاده از هوک ، کدی بنویسیم که وقتی تو سایت برگه جدیدی ایجاد شد دستورات ما انجام بشه ، ما این دستور رو به صورت ساده ( یک پیغام ) نوشتیم اما شما می توانید با توجه به نیاز خودتون این کد رو ویرایش کنید و دستورات خودتون رو بنویسید :

function my_custom_message() {
    echo 'برگه جدید با موفقیت ایجاد شد';
}

add_action('wp_insert_post', 'my_custom_message');

نظرات کاربران
متن نظر :
!

لطفا قبل از ثبت نظر وارد وارد حساب کاربری خود شوید یا ثبت نام کنید

آکادمی بلوهاست ، با هدف ارائه آموزش های کاربردی به کاربران راه اندازی شده و مرتب بروزرسانی می شود

عضویت در خبرنامه

نماد های اعتماد
تمام حقوق برای بلوهاست محفوظ است